このページは私用WordPressの覚え書き兼、テストページです。
「SNSボタン」は、テスト検証用に仮設置しているだけなので、押しても反応しません。

023 オリジナルテーマでウィジェットを使いたい

(※WordPress覚書メモ この記事は、過去に書いた記事の再アップです)


wordpressには「ウィジェット」という、サイドバーを簡単に編集できる機能があります。
でもいちから作った「自作テーマ」の場合、「ウィジェット」を使えるようになっていません。
今日は、「オリジナルテーマ」で「ウィジェット」を使う方法について書きたいと思います。


「オリジナルテーマ」で「ウィジェット」を使うには、functions.php に下記を記入する

<?php
//サイドバーのウェジェットを使えるようにする
register_sidebar(array(
‘before_widget’ => ‘<div id="%1$s" class="widget %2$s">’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h3>’,
‘after_title’ => ‘</h3>’,
));
?>
279行目はコメントです。


コメントの書き方の違い

コメント」は、ファイルによって書き方が異なります。
htmlファイルなら <!-- --> で囲み、
<?php ?> の中なら、頭に // とつけるとその行のみコメント、
cssファイルなら /* */ で囲む、という具合です。


「ウィジェット」を出力する

次に、sidebar.php を開いて、「ウィジェット」を表示させたい箇所に、下記を挿入します。

<!--サイドバー(ウィジェット)-->
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
<?php endif; ?>


これで「ウィジェット」が使えるようになりました。


007特定のカテゴリーの記事一覧(目次)をサイドバーに載せたい

●やりたいこと
右側のサイドバーに、「wordpress関連の記事 - 目次」という項目を設け、カテゴリーが「wordpress」の記事の一覧を表示させたい。


特定のカテゴリーの記事タイトル一覧をすべて表示する(サイドバーに「目次」をつけたい)

sidebar.php の表示させたい位置に、以下を挿入。

<!--特定のカテゴリー(wordpressのみ)の記事タイトル一覧をすべて表示する-->
<li><h3>wordpress関連の記事 - 目次</h3>
<?php
    $myQuery = new WP_Query(); // WP_Queryオブジェクト生成
    $param = array( //パラメータ。
		'cat' => '26', // カテゴリーID26の「wordpress」のみを表示。
        'posts_per_page' => '-1', //(整数)- 1ページに表示する記事数。-1 ならすべての投稿を取得。
        'post_status' => 'publish', //取得するステータスを指定:publish=公開済みのものだけ
        'orderby' => 'date', //並び替え引数。日付で並べる。
        'order' => 'asc' //昇順。古い記事が上。
    );
    $myQuery->query($param);  // クエリにパラメータを渡す
?>
<ul>
<?php if($myQuery->have_posts()): while($myQuery->have_posts()) : $myQuery->the_post(); ?>
        <li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>の詳細へ">■<?php the_title(); ?></a></li>
<?php endwhile; endif; ?>
<?php wp_reset_query(); ?>
</ul>
</li>


これでうまくいきました。


「カテゴリーID」の調べ方

※「カテゴリーID」は、ダッシュボードの「カテゴリー」で追加したカテゴリ名の上にカーソルを乗せると(クリックせず、マウスONするだけ)、画面下に詳細が表示され、ID番号がわかります。

このIDは、サーバーの引越しをしたり、サイトを作り直したりすると、毎回変わるようなので、IDを再確認し、直す必要があります。